//
//  NSString+Extensoin.h
//  MyShoppingApp
//
//  Created by Mac on 16/1/16.
//  Copyright © 2016年 ibokan. All rights reserved.
//

#import <Foundation/Foundation.h>

@interface NSString (Extensoin)
/**
 *  文本自适应
 *
 *  @param size       文字显示区域,高度指定为最大，则在高度方向自动适应
 *  @param 字体大小
 *
 *  @return 返回x和y都为0，只有宽高的frame
 */
- (CGRect)textRectWithSize:(CGSize)size fontSize:(CGFloat)fontSize;
/**
 *    移除字符串中的数字以及小数点
 **/
- (NSString *)removeAllDigits;

/**
 *    计算字符串除空格的长度
 **/
+ (NSUInteger)whiteString:(NSString *)string;
/**
 *  @param value 文字内容
 *  @param fontSize 字体大小
 *  @param height  文字高度
 *  @return 字符串宽度
 */
+(float) widthForString:(NSString *)value fontSize:(float)fontSize andHeight:(float)height;
+(float) widthForString:(NSString *)value UIfontSize:(UIFont *)fontSize andHeight:(float)height;
/**
 *  @param value 文字内容
 *  @param fontSize 字体大小
 *  @param height  文字高度
 *  @return 字符串高度
 */
+(float) heightForString:(NSString *)value fontSize:(float)fontSize andWidth:(float)width;
/**
 *  @param value 文字内容
 *  @param lineSpace 行高
 *  @param fontSize 字体大小
 *  @param color  文字颜色
 *  @return 字符串高度
 */
+(NSMutableAttributedString *) setLineSpaceForString:(NSString *)value lineSpace:(float)lineSpace fontSize:(float)fontSize andTextColor:(UIColor *)color;

+ (NSMutableAttributedString *)attributedString:(NSString *)front fontColor:(UIColor *)frontColor frontFont:(UIFont *)frontFont behind:(NSString *)behind behindColor:(UIColor *)behindColor behindFont:(UIFont *)behindFont;

+ (NSMutableAttributedString *)attributedString:(NSString *)front frontColor:(UIColor *)frontColor middle:(NSString *)middle middleColor:(UIColor *)middleColor behind:(NSString *)behind behindColor:(UIColor *)behindColor font:(UIFont *)font;

+ (float) heightForString:string andWidth:(float)width;
/**
 *  13位或者10位时间戳字符串转对应的日期格式
 *
 *  @param secs       时间戳
 *  @param dateFormat 日期格式(@"yyyy-MM-dd hh:mm:ss SS"等等)
 *
 *  @return 日期格式字符串
 */
- (NSString *)stringWithDateFormat:(NSString *)dateFormat;
- (NSString *)dateWithDateFormat:(NSString *) format;
/** 获取当前的时间字符串 */
+ (NSString*)stringWithCurrentTimeString;

/**
 *  判断字符串是否是Emoji表情
 *
 *  @return 是或者不是
 */
+ (BOOL)stringContainsEmoji:(NSString *)string;
/** md5加密算法 */
- (NSString *)md5;
/* 验证邮箱 */
- (BOOL)isEmail;
/** 验证邮箱 */
- (BOOL)isMobile;
/** 用户名 */
- (BOOL)isUserName;
/** url字符串 */
- (BOOL)isUrlString;
/**
 *  url编码
 *
 *  @return 编码好的url字符串
 */
- (NSString *)urlEncode;
/**
 *  url解码
 *
 *  @return 解码好的url字符串
 */
- (NSString *)urlDecode;
/**
 *  添加星号
 *  
 *  @param startLocation  开始位置
 *
 *  @param startLocation  替换长度
 *
 *  @return 加了星号的字符串
 */
- (NSString *)replaceStringWithAsterisStartLocation:(NSInteger)startLocation length:(NSInteger)length;
+ (BOOL)valiMobile:(NSString *)mobile;
+ (BOOL)isCorrect:(NSString *)IDNumber;
@end
